class Arrays<T>{
    private Object[] arrays = new Object[10];

    public void setArrays(int pos,T element) {
        this.arrays[pos] = element;
    }
    public Object getArrays(int pos) {
        return this.arrays[pos];
    }
}
public class Main {
    public static String myReplace(String str, String oldStr, String newStr) {
        StringBuffer ret = new StringBuffer("");
        for(int i = 0; i < str.length(); i++) {
            //使用断言机制，避免substring越界
            if(str.length()-i>=oldStr.length()
                    && str.substring(i,i+oldStr.length()).equals(oldStr)) {
                ret.append(newStr);
                i+=oldStr.length()-1;
            }else{
                ret.append(str.charAt(i));
            }
        }
        return ret.toString();
    }
    public static String myReplace(String str,char oldChar, char newChar) {
        //此方法仅仅是替换字符
        StringBuffer ret = new StringBuffer("");
        for(int i =0; i < str.length();i++) {
            if(str.charAt(i)==oldChar) {
                ret.append(newChar);
            } else {
                ret.append(str.charAt(i));
            }
        }
        return ret.toString();
    }

    public static void main(String[] args) {
        int a = 3;
        System.out.println(Math.pow(a,3));
    }
    public static void main2(String[] args) {
        //实现方法 replace, 能够替换字符串中的某个部分
        //在Java中replace有两种方式1：替换所有指定内容 2：替换第一个指定内容
        //此处实现替换所有指定内容

        String str = new String("123546656ffr123efqrfr123");
        String ret = myReplace(str,"123","REPLACE");
        System.out.println(ret);
    }
    public static void main1(String[] args) {
        //System.out.println("Hello world!");
        //最近都是期末考试，需要去复习，所以留给Java的时间不是很多
        /*
        今天考试有一道这样的题目，其实就是Java中所有整型数据都默认是int类型
        当byte类型的b和int类型 计算时，会触发类型提升，此时b提升为int类型
        所以返回的值也是int 类型，当我们使用byte类型的b去接收int类型的数据，会无法通过编译
        除非强转
        byte b = 5;
        b = (2 - b);*/

        //泛型的使用
        Arrays<Integer> arr = new Arrays<Integer>();
        arr.setArrays(0,11);
        Object a = arr.getArrays(0);
        System.out.println(a);
    }
}